package to.pm.entity.acquisti;

import java.util.List;
import java.util.logging.Logger;
import javax.persistence.PostPersist;
import javax.persistence.PostUpdate;

public class ListenerDettaglioOrdineEsterno {

    Logger log = Logger.getAnonymousLogger();

    @PostPersist
    @PostUpdate
    public void aggiornaStatoOrdineEsterno(DettaglioOrdineEsterno dettaglio){
        log.info(this.getClass().getName()+": postUpdate o persist");
        StatoDettaglioOrdineEsterno stato = dettaglio.getStato();
        if (StatoDettaglioOrdineEsterno.EVASO != stato) {
            return;
        } else {
            OrdineEsterno ordine = dettaglio.getOrdine();
            List<DettaglioOrdineEsterno> lDettaglio = ordine.getDettaglio();
            for (DettaglioOrdineEsterno d:lDettaglio){
                if (StatoDettaglioOrdineEsterno.EVASO != d.getStato()) {
                    return ;
                }
            }
            log.info("aggiornato ordine esterno stato evaso");
            ordine.setStato(StatoOrdineEsterno.EVASO);
        }
        
    }

}
